package com.tian.constant;

/**
 * {@code @description:} 消息队列常量（queue、exchange、routing key）
 *
 * @author tianwc 公众号：Java后端技术全栈
 * 在线刷题 1200+java面试题和1000+篇技术文章：<a href="https://woaijava.cc/">博客地址</a>
 * {@code @date:} 2024/1/26 20:01
 * {@code @version:} 1.0
 */
public interface RabbitMQConstant {

    /**
     * 邀请用户注册
     */
    String INVITE_USER_REGISTER_QUEUE = "invite.user.register.queue";
    String INVITE_USER_REGISTER_EXCHANGE = "invite.user.register.exchange";
    String INVITE_USER_REGISTER_ROUTING_KEY = "invite.user.register.routing.key";

    /**
     * 发送短信
     */
    String SMS_QUEUE = "sms.queue";
    String SMS_EXCHANGE = "sms.exchange";
    String SMS_ROUTING_KEY = "sms.routing.key";

    /**
     * 系统日志
     */
    String SYS_LOG_QUEUE = "sys.log.queue";
    String SYS_LOG_EXCHANGE = "sys.log.exchange";
    String SYS_LOG_ROUTING_KEY = "sys.log.routing.key";

    /**
     * 站内信
     */
    String SYS_MESSAGE_QUEUE = "sys.message.queue";
    String SYS_MESSAGE_EXCHANGE = "sys.message.exchange";
    String SYS_MESSAGE_ROUTING_KEY = "sys.message.routing.key";

    /**
     * 发送邮件
     */
    String SEND_EMAIL_QUEUE = "send.email.queue";
    String SEND_EMAIL_EXCHANGE = "send.email.exchange";
    String SEND_EMAIL_ROUTING_KEY = "send.email.routing.key";

    /**
     * 用户领取优惠券
     */
    String USER_GET_COUPON_QUEUE = "user.get.coupon.queue";
    String USER_GET_COUPON_EXCHANGE = "user.get.coupon.exchange";
    String USER_GET_COUPON_ROUTING_KEY = "user.get.coupon.routing.key";

    /**
     * 用户领取优惠券 附加处理
     */
    String USER_GET_COUPON_ADDITIONAL_QUEUE = "user.get.coupon.additional.queue";
    String USER_GET_COUPON_ADDITIONAL_EXCHANGE = "user.get.coupon.additional.exchange";
    String USER_GET_COUPON_ADDITIONAL_ROUTING_KEY = "user.get.coupon.additional.routing.key";

    /**
     * 用户使用优惠券（使用中）
     */
    String USER_USE_COUPON_QUEUE = "user.using.coupon.queue";
    String USER_USE_COUPON_EXCHANGE = "user.using.coupon.exchange";
    String USER_USE_COUPON_ROUTING_KEY = "user.using.coupon.routing.key";

    /**
     * 用户使用优惠券（释放）
     */
    String FREE_USER_USE_COUPON_QUEUE = "free.user.using.coupon.queue";
    String FREE_USER_USE_COUPON_EXCHANGE = "free.user.using.coupon.exchange";
    String FREE_USER_USE_COUPON_ROUTING_KEY = "free.user.using.coupon.routing.key";

    /**
     * 用户余额增加队列
     */
    String USER_BALANCE_INCREASE_QUEUE = "user.balance.increase.queue";
    String USER_BALANCE_INCREASE_EXCHANGE = "user.balance.increase.exchange";
    String USER_BALANCE_INCREASE_ROUTING_KEY = "user.balance.increase.routing.key";

    /**
     * 充电订单状态改变队列
     */
    String CHARGING_ORDER_STATUS_CHANGE_QUEUE = "charging.order.status.change.queue";
    String CHARGING_ORDER_STATUS_CHANGE_EXCHANGE = "charging.order.status.change.exchange";
    String CHARGING_ORDER_STATUS_CHANGE_ROUTING_KEY = "charge.order.status.change.routing.key";

    /**
     * 优惠券使用成本统计队列
     */
    String COUPON_USE_STATISTICS_QUEUE = "coupon.use.statistics.queue";
    String COUPON_USE_STATISTICS_EXCHANGE = "coupon.use.statistics.exchange";
    String COUPON_USE_STATISTICS_ROUTING_KEY = "coupon.use.statistics.routing.key";
    /**
     * 用户使用优惠券兑换码
     */
    String USER_USE_COUPON_EXCHANGE_CODE_QUEUE = "user.use.coupon.exchange.code.queue";
    String USER_USE_COUPON_EXCHANGE_CODE_EXCHANGE = "user.use.coupon.exchange.code.exchange";
    String USER_USE_COUPON_EXCHANGE_CODE_ROUTING_KEY = "user.use.coupon.exchange.code.routing.key";

    /**
     * 用户积分初始化
     */
    String USER_POINT_INIT_QUEUE = "user.init.integral.queue";
    String USER_POINT_INIT_EXCHANGE = "user.init.integral.exchange";
    String USER_POINT_INIT_ROUTING_KEY = "user.init.integral.routing.key";

}
